Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.10.2018, 22:36
Аватар для finlolo
Аспирант
Отправить личное сообщение для finlolo Посмотреть профиль Найти все сообщения от finlolo
 
Регистрация: 12.08.2018
Сообщений: 61

Не получается передать значение через AJAX
Всем привет.

Не могу через ajax получить текущую дату на сервере.

Код php файла:
<?php
    echo json_encode(time());
?>


Код js:

function timeNowGet(url){
    var request = new XMLHttpRequest();
    request.onreadystatechange = function(){
        if (request.readyState == 4 && request.status == 200){
            return JSON.parse(request.responseText);
        }
    }
    request.open('POST', url);
    request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    request.send();
}


пробовал и без json_encode и parse, все равно, при вызове функции timeNowGet она выдает undefined.
Ответить с цитированием
  #2 (permalink)  
Старый 02.10.2018, 22:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,149

finlolo,
фунция timeNowGet ничего не должна возвращать, она должна запустить callback
function timeNowGet(url, callback){
    var request = new XMLHttpRequest();
    request.onreadystatechange = function(){
        if (request.readyState == 4 && request.status == 200){
           if(callback) callback(JSON.parse(request.responseText)) ;
        }
    }
    request.open('POST', url);
    request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    request.send();
}
Ответить с цитированием
  #3 (permalink)  
Старый 02.10.2018, 22:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,149

finlolo,
или читайте про Современные возможности ES-2015

async function
promise
Ответить с цитированием
  #4 (permalink)  
Старый 03.10.2018, 01:03
Аватар для finlolo
Аспирант
Отправить личное сообщение для finlolo Посмотреть профиль Найти все сообщения от finlolo
 
Регистрация: 12.08.2018
Сообщений: 61

как тогда значение в переменную передать?
Ответить с цитированием
  #5 (permalink)  
Старый 03.10.2018, 01:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,149

Сообщение от finlolo
как тогда значение в переменную передать?
нормально никак
и зачем, если есть callback?

Последний раз редактировалось рони, 03.10.2018 в 01:38.
Ответить с цитированием
  #6 (permalink)  
Старый 03.10.2018, 01:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,149

finlolo,
в чём проблема запустить нужную функцию, после того как пришли данные?
Ответить с цитированием
  #7 (permalink)  
Старый 03.10.2018, 02:00
Аватар для finlolo
Аспирант
Отправить личное сообщение для finlolo Посмотреть профиль Найти все сообщения от finlolo
 
Регистрация: 12.08.2018
Сообщений: 61

рони,
вы меня извините за то, что я не допонял, но как мне вытащить данные из функции timeNowGet. Я не понимаю, что делать с callback'ом. мне нужно получить строку с unix датой, чтобы потом в другой функции проводить над ней действите.
я вызвал ее так:
var example = timeNowGet(puth);
Ответить с цитированием
  #8 (permalink)  
Старый 03.10.2018, 02:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,149

finlolo,

timeNowGet(puth, другая_функция);
Ответить с цитированием
  #9 (permalink)  
Старый 03.10.2018, 02:15
Аватар для finlolo
Аспирант
Отправить личное сообщение для finlolo Посмотреть профиль Найти все сообщения от finlolo
 
Регистрация: 12.08.2018
Сообщений: 61

рони,
не понимаю, что не так делаю, все равно undefined
Ответить с цитированием
  #10 (permalink)  
Старый 03.10.2018, 02:18
Аватар для finlolo
Аспирант
Отправить личное сообщение для finlolo Посмотреть профиль Найти все сообщения от finlolo
 
Регистрация: 12.08.2018
Сообщений: 61

как мне записать вторую функцию аргументом, чтобы она возвращала callback(JSON.parse(request.responseText)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать данные из одинаковых форм php скрипту через AJAX? griga999 AJAX и COMET 22 10.10.2016 06:09
JS&PHP: можно ли передать значение переменной через XMLHttpRequest? -_Gleb_- AJAX и COMET 1 14.07.2016 08:45
Проблемы с выпадающим списком JavaScript ursus102 Общие вопросы Javascript 0 16.01.2016 19:30
Как передать значение параметра в скрипт через переменную. Ellis Javascript под браузер 5 29.10.2015 13:08
Выводить значение раньше переменных Гробовщик Общие вопросы Javascript 11 10.09.2013 08:42